package cursojava.collection;

import java.io.FileReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;

import cursojava.bean.Transformer;

public class EjmSet {


	public void go() throws Exception {
		
		List<String> data = obtenerDataA();
		
		/*
		Collections.sort(data);
		System.out.println(data);
		
		Set<String> conjunto = new HashSet<String>();
		
		conjunto.addAll(data);
		*/
		Set<String> conjunto2 = new TreeSet<String>();
		
		conjunto2.addAll(data);
		
		System.out.println(conjunto2);
		
		
	}
	
	
	
	private List<String> obtenerDataA() throws Exception {
		Scanner sc = new Scanner(new FileReader("myFiles\\A.txt"));
		
		int numeroFilas = sc.nextInt();
		
		List<String> lista = new ArrayList<String>();
		
		for (int i = 0; i < numeroFilas; i++) {
			lista.add(sc.next());		
		}
		sc.close(); //cerrar el archivo
		
		return lista;
	}


	public void go2() throws Exception {
		
		List<Transformer> data = obtenerDataB();
		
		Set<Transformer> conjunto = new TreeSet<Transformer>();
				
		conjunto.addAll(data);
				
		//System.out.println(conjunto);
		/*Transformer[] transformers = (Transformer[]) conjunto.toArray(new Transformer[]{});
		for (int i = 0; i < transformers.length; i++) {
			Transformer t = transformers[i];
			System.out.println(t.getName() + "  " + t.getLife());
		}*/
		
		
		for (Iterator iterator = conjunto.iterator(); iterator.hasNext();) {
			Transformer t = (Transformer) iterator.next();
			System.out.println(t.getName() + "  " + t.getLife());
		}
		
		
	}
	private List<Transformer> obtenerDataB() throws Exception {
		
		Scanner sc = new Scanner(new FileReader("myFiles\\B.txt"));
		
		int numeroFilas = sc.nextInt();
		
		List<Transformer> lista = new ArrayList<Transformer>();
		
		
		for (int i = 0; i < numeroFilas; i++) {
			
			
			lista.add(new Transformer(sc.next(), sc.next()));
		}
		sc.close(); //cerrar el archivo
		
		return lista;
	}



	public static void main(String[] args) throws Exception {
		EjmSet ejmSet = new EjmSet();
		ejmSet.go();
		ejmSet.go2();
	}

}
